<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: 流年 <liu21st@gmail.com>
// +----------------------------------------------------------------------

// 应用公共文件
/*倒计时
 * sys 331535900@qq.com
 * */
    function format_date($t){
        $day= floor($t/86400);
        $hos= floor(($t-$day*86400)/3600);
        $miu= floor(($t-$day*86400-$hos*3600)/60);
        return $day.'天'.$hos.'小时'.$miu.'分钟';
    }
/*
 * 日期计算
 * sys 331535900@qq.com
 * */
function date_extend($inum,$index)
{
    $weekarray=array('0'=>'日','1'=>'一','2'=>'二','3'=>'三','4'=>'四','5'=>'五','6'=>'六');
    $day=[];
    $week=[];
    for ($i=0; $i <$inum ; $i++) {
        if($i==0){
            $data[$i]['d'] ='今天';
        }else if($i==1){
            $data[$i]['d'] ='明天';
        }else{
            $data[$i]['d'] =date('d',(time()+$i*24*3600));
        }
        $data[$i]['w']=$weekarray[date('w',(time()+$i*24*3600))];
        if($i==$index){
            $data[$i]['on']='on';
        }else{
            $data[$i]['on']='off';
        }
    }

    return $data;
}
//通过类别id获取pid
function cagid_getpid($id){
    $where['cate_id']=$id;
    $categorypid=db('category')->where($where)->value('pid');
    return $categorypid;
}

//通过类别id 获取名字
function cagid_getname($id){
     $where['cate_id']=$id;
     $categoryname=db('category')->where($where)->value('name');
     return $categoryname;
}
//字符串截取 mb_substr
function substrs($str,$len){
    $len=strlen($str);
    if($len<$len){
        return $str;
    }else{
        return mb_substr($str,0,$len).'...';
    }
}

/**
 * 降维
 * @param array $array 多维数组往下降一个维
 * @return array $result_array
 */
function array_multi2single($array)
{
    //首先定义一个静态数组常量用来保存结果
    $result_array = array();
    //对多维数组进行循环
    foreach ($array as $key=> $value) {
        foreach ($value as $k => $v) {
            $result_array[$k] = $v;
        }

    }
    return $result_array;
}

/**
 * 只返回数组中的值
 * @param array $array
 * @return array $result_array
 */
function array_multi2singlearray($array)
{
    //首先定义一个静态数组常量用来保存结果
    $result_array = array();
    //对多维数组进行循环
    foreach ($array as $key=> $value) {
        foreach ($value as $k => $v) {
            $result_array[] = $v;
        }
    }
    return $result_array;
}

/**
 * 多维数组转化为一维数组
 * @param array $array 多维数组
 * @return array $result_array 一维数组
 */
function array_multi2singleOne($array)
{
    //首先定义一个静态数组常量用来保存结果
    static $result_array = array();
    //对多维数组进行循环
    foreach ($array as $key=> $value) {
        //判断是否是数组，如果是递归调用方法
        if (is_array($value)) {
            array_multi2single($value);
        } else  //如果不是，将结果放入静态数组常量
            $result_array [$key] = $value;
    }
    //返回结果（静态数组常量）
    return $result_array;
}
/**
 *
 * 中英混合的字符串截取
 * @param unknown_type $sourcestr
 * @param unknown_type $cutlength
 */
function assoc_substr($sourcestr, $cutlength) {
    $returnstr = '';
    $i = 0;
    $n = 0;
    $str_length = strlen ( $sourcestr ); //字符串的字节数
    while ( ($n < $cutlength) and ($i <= $str_length) ) {
        $temp_str = substr ( $sourcestr, $i, 1 );
        $ascnum = Ord ( $temp_str ); //得到字符串中第$i位字符的ascii码
        if ($ascnum >= 224) {//如果ASCII位高与224，
            $returnstr = $returnstr . substr ( $sourcestr, $i, 3 ); //根据UTF-8编码规范，将3个连续的字符计为单个字符
            $i = $i + 3; //实际Byte计为3
            $n ++; //字串长度计1
        } elseif ($ascnum >= 192){ //如果ASCII位高与192，
            $returnstr = $returnstr . substr ( $sourcestr, $i, 2 ); //根据UTF-8编码规范，将2个连续的字符计为单个字符
            $i = $i + 2; //实际Byte计为2
            $n ++; //字串长度计1
        } elseif ($ascnum >= 65 && $ascnum <= 90) {//如果是大写字母，
            $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
            $i = $i + 1; //实际的Byte数仍计1个
            $n ++; //但考虑整体美观，大写字母计成一个高位字符
        }elseif ($ascnum >= 97 && $ascnum <= 122) {
            $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
            $i = $i + 1; //实际的Byte数仍计1个
            $n ++; //但考虑整体美观，大写字母计成一个高位字符
        } else {//其他情况下，半角标点符号，
            $returnstr = $returnstr . substr ( $sourcestr, $i, 1 );
            $i = $i + 1;
            $n = $n + 0.5;
        }
    }
    return $returnstr;
}
//获取积分商城兑换交易号  数字加字母
function randomkeys($length) {
    $returnStr='';
    $pattern = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';
    for($i = 0; $i < $length; $i ++) {
        $returnStr .= $pattern {mt_rand ( 0, 61 )}; //生成php随机数
    }
    return $returnStr;
}
//获取积分商城兑换交易号  数字加字母
function randomkeysletter($length) {
    $returnStr='';
    $pattern = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLOMNOPQRSTUVWXYZ';
    for($i = 0; $i < $length; $i ++) {
        $returnStr .= $pattern {mt_rand ( 0, 51 )}; //生成php随机数
    }
    return $returnStr;
}